refactored RESTful Model