migrated to CoffeeScript