take a single step, define as input arg