most functionality for api exists, testing required