cleaned up interface, removing unneeded abstract keyword (also @Overrides annotations)