beginning CoffeeScript port