initial scribble infrastructure for functions