3 functions, but no call yet
3 functions, use caller