adding more utility functions