implement coffeescript compiler