a more thorough implementation for ignored steps