Added initial infrastructure for functions