using livescript - major refactoring using classes for encapsulation