developing functions for work at caterpillar