refactor. fixes #21