updated to latest practices and added in source map support