added estimation function