changes to step()
added tests