secret abstraction.