added interfaces
just commit god damn it