some utility functions for work