utility functions added