this is starting to annoy me... might switch to nosql