first step of refactoring
better steps support