i'm not happy AT ALL with this implementation, but it's the first way i've found which works around ZST limitations.