This is weird. FUNCITON is not the prototype. Maybe we need to use other terminology?