functionality completed
code cleanup
Unit Tests created