add first 3 functions