adds a `sync` option
- closes #105
- closes #104