reintroduced makeFunction