adds guard so only positive steps can be used.