how secondary functions work