introduce step method to define steps dynamically