-_geos = require("../build/Release/geos")
-exports.WKTReader = _geos.WKTReader
-WKTWriter = _geos.WKTWriter
-_Geometry = _geos.Geometry
-exports.GeometryFactory = _geos.GeometryFactory
-exports.PrecisionModel = _geos.PrecisionModel
-exports.Quadtree = _geos.Quadtree
-exports.geosversion = _geos.geosversion
-exports.jtsport = _geos.jtsport
+{
+  _Geometry
+  WKTWriter
+  GeoJSONWriter
+} = exports = module.exports = require("../build/Release/geos")
+
+_Geometry = exports.Geometry
 
 Geometry = ->
   throw new Error "Do not call Geometry constructor directly. Use WKTReader.read instead."
 
-Geometry.prototype= _Geometry.prototype
+Geometry.prototype = _Geometry.prototype
 
 Geometry.prototype.toGeoJSON = Geometry.prototype.toJSON
 
 exports.Geometry = Geometry
+
 
 _setRoundingPrecision = WKTWriter.prototype.setRoundingPrecision
 

  else
    _setRoundingPrecision.call @, decimals

exports.WKTWriter = WKTWriter

GeoJSONWriter = _geos.GeoJSONWriter

_write = GeoJSONWriter.prototype.write


GeoJSONWriter.prototype.setRoundingPrecision = (decimals) ->
  if not (typeof decimals == "number") then throw new Error "TypeError: input must be of type Number (int)"
  else
    _setRoundingPrecision.call @, decimals