Major Refactor Started
Unit Testing
Adding Properties