refactor target to step

kept all target methods for backwards compatibility

Once again this looks big, but it is just changing target to step