A compound having the formula: ** Formula ** or geometric isomers, enantiomers, diastereomers, racemates, pharmaceutically acceptable salts or solvates thereof; where ------------ represents a single or double bond; m and q are independently selected from 0, 1 and 2; p is selected from 0, 1, 2 or 3; R1 is -C (O) OR21; R21 is alkyl, substituted alkyl, alkenyl or substituted alkenyl; R2 is selected from absent, hydrogen, halogen, -OR10, -SR10, -NR10R11-, optionally substituted aliphatic, optionally substituted aryl or optionally substituted heterocyclyl; r is 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 or 11; A is selected from absent, optionally substituted alkyl, optionally substituted alkenyl, optionally substituted alkynyl, -S-, -O-, -S (O) -, -S (O) 2-, -S [C (R30) (R31 )] u-, -S (O) [C (R30) (R31)] u-, -S (O) 2 [C (R30) (R31)] u-, - O [C (R30) (R31) ] u-, -N (R30) -, - N (R30) [C (R31) (R32)] u-, - [C (R30) (R31)] u, -C (O) [C (R30) (R31)] u-; each u is independently 1, 2, 3, 4, 5, 6 or 7; D is selected from absent, -O-, -NR33, -C (R34) (R35) -, -S-, -S (O) -, -S (O) 2-, -C (O) -; Each R3, R4, R5, R30, R31, R32, R33, R34, and R35 is independently selected from absent, hydrogen, halogen, -OR10, -SR10, -NR10R11-, -C (O) R10, optionally substituted aliphatic, optionally substituted aryl or optionally substituted heterocyclyl; wherein each R10 and R11 is independently absent, hydrogen, halogen, aliphatic, substituted aliphatic, aryl or substituted aryl; alternatively, two R10 and R11 together with the atoms to which they are attached, can form an additional optionally substituted 3, 4, 5, 6 or 7 member ring; each G3 and G4 is independently selected from -N-; and X20 is -C (R10) - or -N-; wherein the term "substituted" refers to the replacement of one or more hydrogen radicals in a given structure with the radical of a specified substituent selected from: halo, alkyl, alkenyl, alkynyl, aryl, heterocyclyl, thiol, alkylthio, arylthio, alkylthioalkyl , arylthioalkyl, alkylsulfonyl