actually run tests on `npm test`
Add support for custom encoding
let server take options-object