function definitions actually added