Removed the need for the manipulation functions to return a value for `i` to make the code DRYer
Decreased the memory limit
Now the memory limit is an optional argument (default: 30)