add functions to interface