rebuilt the restful interface