coffeescript as much as possible