add loads of api methods