better reorganization of _public