some genericizing and version bump