updating api
not complete, but updating api