class should have been interface