add more utility code