 			box-shadow: 0 0px 20px #666;
 			min-height: 500px;
 		}
-	
+
 		a {color: #4E5989; text-decoration: underline;}
 		a:hover {text-decoration: none;}
 
 		#wrapper {width: 750px; margin: 0 auto;}
-	
+
 		h1 {border-bottom: 1px solid #999; width: 100%; font: 30px Tahoma, Geneva, sans-serif}
 		h2 {font: 20px Tahoma, Geneva, sans-serif}
 

config = { appName: "Timbits", engine: "coffee", port: 5678, home: process.cwd() }
server = {}

# creates, configures, and returns a standard express server instance
@serve = (options) ->
	config[key] = value for key, value of options
	@server = express.createServer()

	@log = new Log(if @server.settings.env is 'development' then Log.DEBUG else Log.INFO)
	
	# support coffekup
	@server.register '.coffee', ck
	
	# configure server (still needs some thought) 	
	@server.set 'views', "#{config.home}/views"
	@server.set 'view engine', config.engine
	@server.set 'view options', {layout: false}
		
	@server.configure =>
		@server.use connectESI.setupESI()
		@server.use express.static("#{config.home}/public")
		@server.use express.static("#{config.home}/views")		
		@server.use express.bodyParser()
		@server.use express.cookieParser()


							return $('##{context.timbit_id}').html(CoffeeKup.render(data, context));
						});
					});
			"""
			res.setHeader "Content-Type", "text/plain"
			res.write output
			res.end()
		else
			res.render "#{context.name}/#{context.view}", context: context

	# helper method to retrieve data via REST
	fetch: (req, res, context, key, options, callback = @render) ->

		pantry.fetch options, (error, results) =>
			context[key] = results

			# we're done, will now execute rendor method unless otherwise specified
			callback(req, res, context)

	# this is the method executed after a matching route.  overwritten on most implementations
	eat: (req, res, context) ->
		@render req, res, context

	help: ->
		style '''body {
			background: #d2d5dc; /* Old browsers */
