use util functions instead