full rest api implemented