restructured hierarchy to avoid superfluous :setf options
readifyme