beginning to add tests
adding some funcunit tests
adding some justification for my decisions