added a utility module
more work on the api, including logging of each request