adding utility functions