pretty much done, but i gotta call it a night to prevent mistakes;