i am an idiot, need to add tests soon