A compound having the formula: or geometric isomers, enantiomers, diastereomers, racemates, pharmaceutically acceptable salts or solvates thereof; wherein ------------ represents a single or double bond; m and q are independently selected from 0, 1, and 2; p is selected 0, 1, 2 or 3; R 1 is -C OR 21; R 21 is alkyl, substituted alkyl, alkenyl or substituted alkenyl; R 2 is selected from absent, hydrogen, halogen, -OR 10, -SR 10, -NR 10 R 11 -, 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 -, -S 2 -, -S[C(R 30)(R 31)] u -, -S [C(R 30)(R 31)] u -, -S 2 [C(R 30)(R 31)] u -, -O[C(R 30)(R 31)] u -, -N(R 30)-,-N(R 30)[C(R 31)(R 32)] u -, -[C(R 30)(R 31)] u, -C [C(R 30)(R 31)] u -; each u is independently 1, 2, 3, 4, 5, 6 or 7; D is selected from absent, -O-, -NR 33, -C(R 34)(R 35)-, -S-, -S -, -S 2 -, -C -; each R 3, R 4, R 5, R 30, R 31, R 32, R 33, R 34, and R 35 is independently selected from absent, hydrogen, halogen, -OR 10, -SR 10, -NR 10 R 11 -, -C R 10, optionally substituted aliphatic, optionally substituted aryl or optionally substituted heterocyclyl; wherein each R 10 and R 11 is independently absent, hydrogen, halogen, aliphatic, substituted aliphatic, aryl or substituted aryl; alternatively two R 10 and R 11 together with the atoms to which they are attached may form an additional optionally substituted, 3, 4, 5, 6 or 7 membered ring; each G 3 and G 4 is independently selected from -N-; and X 20 is -C(R 10)- 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, alkylsulfonylalkyl, arylsulfonylalkyl, alkoxy, aryloxy, aralkoxy, aminocarbonyl, alkylaminocarbonyl, arylaminocarbonyl, alkoxycarbonyl, aryloxycarbonyl, haloalkyl, amino, trifluoromethyl, cyano, nitro, alkylamino, arylamino, alkylaminoalkyl, arylaminoalkyl, aminoalkylamino, hydroxy, alkoxyalkyl, carboxyalkyl, alkoxycarbonylalkyl, aminocarbonylalkyl, acyl, aralkoxycarbonyl, carboxylic acid, sulfonic acid, sulfonyl, phosphonic acid, aryl, heteroaryl, heterocyclic, and aliphatic, wherein the substituent may be further substituted. ------------ represents a single or double bond; m and q are independently selected from 0, 1, and 2; p is selected 0, 1, 2 or 3; R 1 is -C OR 21; R 21 is alkyl, substituted alkyl, alkenyl or substituted alkenyl; R 2 is selected from absent, hydrogen, halogen, -OR 10, -SR 10, -NR 10 R 11 -, 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 -, -S 2 -, -S[C(R 30)(R 31)] u -, -S [C(R 30)(R 31)] u -, -S 2 [C(R 30)(R 31)] u -, -O[C(R 30)(R 31)] u -, -N(R 30)-,-N(R 30)[C(R 31)(R 32)] u -, -[C(R 30)(R 31)] u, -C [C(R 30)(R 31)] u -; each u is independently 1, 2, 3, 4, 5, 6 or 7; D is selected from absent, -O-, -NR 33, -C(R 34)(R 35)-, -S-, -S -, -S 2 -, -C -; each R 3, R 4, R 5, R 30, R 31, R 32, R 33, R 34, and R 35 is independently selected from absent, hydrogen, halogen, -OR 10, -SR 10, -NR 10 R 11 -, -C R 10, optionally substituted aliphatic, optionally substituted aryl or optionally substituted heterocyclyl; wherein each R 10 and R 11 is independently absent, hydrogen, halogen, aliphatic, substituted aliphatic, aryl or substituted aryl; alternatively two R 10 and R 11 together with the atoms to which they are attached may form an additional optionally substituted, 3, 4, 5, 6 or 7 membered ring; each G 3 and G 4 is independently selected from -N-; and X 20 is -C(R 10)- 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, alkylsulfonylalkyl, arylsulfonylalkyl, alkoxy, aryloxy, aralkoxy, aminocarbonyl, alkylaminocarbonyl, arylaminocarbonyl, alkoxycarbonyl, aryloxycarbonyl, haloalkyl, amino, trifluoromethyl, cyano, nitro, alkylamino, arylamino, alkylaminoalkyl, arylaminoalkyl, aminoalkylamino, hydroxy, alkoxyalkyl, carboxyalkyl, alkoxycarbonylalkyl, aminocarbonylalkyl, acyl, aralkoxycarbonyl, carboxylic acid, sulfonic acid, sulfonyl, phosphonic acid, aryl, heteroaryl, heterocyclic, and aliphatic, wherein the substituent may be further substituted.