better base id emthod