hide impl