Refactor based on discussion in #21