took a different approach.  rather than mirror the api make some user functions for the common use case