Made increment value user-customizable! Fix #10.
Also organized code into more functions for reusability and clarity.
Fixed bug - negative values should be disallowed, but not 0 values.