implementing base api methods