finished draft version. all unit tests passed. to be submitted.
revised based on comments <Submission time	Sun-26-Oct 17:57:23
Raw Score	45.55 / 100.00>