Add tests and allow intentional passing of 0 to modification functions. Issue #19.