beefed up the api some