changing up interfaces to be hopefully finalized soon

This isn't final, as I have some todos, but the interfaces are there, so comment on them for now