added step validation