 
 						@pluginConfig = @packageData.docpad and @packageData.docpad.plugin or {}
 
-						pluginPath =  @packageData.main? and path.join(@dirPath, @pluginPath) or pluginPath
-						path.exists pluginPath, (exists) =>
+						pluginPath =  @packageData.main? and pathUtil.join(@dirPath, @pluginPath) or pluginPath
+						balUtil.exists pluginPath, (exists) =>
 							unless exists
 								return next?(null,false)
 							else

# Requires
path = require('path')
fs = require('fs')
_ = require('underscore')
semver = require('semver')
balUtil = require('bal-util')

	# Constructor
	constructor: ({@docpad,@dirPath,@BasePlugin}) ->
		# Apply
		@pluginName = pathUtil.basename(@dirPath).replace(/^docpad-plugin-/,'')
		@pluginClass = {}
		@pluginConfig = {}
		@packageData = {}
		@nodeModulesPath = pathUtil.resolve(@dirPath, 'node_modules')

	# Exists
	# Loads in the plugin either via a package.json file, or a guessing based on the name
	# next(err,exists)
	exists: (next) ->
		# Package.json
		packagePath = pathUtil.resolve(@dirPath, "package.json")
		pluginPath = pathUtil.resolve(@dirPath, "#{@pluginName}.plugin.coffee")
		balUtil.exists packagePath, (exists) =>
			unless exists
				balUtil.exists pluginPath, (exists) =>
					unless exists
						return next?(null,false)
					else
