changes to the API to better reflect needed functionality