utility functions updated