added more utility functions