a few function updates