no need for interface methods to be abstract