refactor
clean up api
update readme