interfaces

added interfaces
update classes
added functionality
updates :P

updates to interfaces, classes