compound functions work