update definitions and utility functions