Initial commit; includes main function and unittests.