hieracy ok, and refactor