Project was refactored according to George's comments.