small step for the api, alot of tiding and refinding to do