more rest-style API