supports the api kenton suggested