added support for source map