classes and interfaces oh my!
whaaat