updated APIs
empty implemented all functions