this is some shit that james and I are working on because this is crap.