Add source map support

Closes #20