format
implement rest functionality as plugins