treat functions as a mixin to the program