Some utilities and prototypes etc.