Shared utilities