i'm giving up; this is crap, like everything else i write