Added stepLimit as a parameter
updated unit tests and retested