Shared utilities

Shared utilities