refactor API, adding more info and payments