Changed class name and file name for the API controller
Added new abstract methods to create a consistent API