functions, saving from code explosion since back inna days