refactored to be prototypical, bump version