added utility functions