add basics of functions