adding some features and making the API more helpful