more utility functions added