drafted functions for principal estimator