added all the API objects go structs and interface methods