Inflector

supersedes #392