Add optional step argument to range function