Almost done. Need to validate tests, add more tests, comment and show stuff.