some ideas for the api