primitive work of passing parameters