First version that has functional unit test. Yay.