splitted common to context and extensions