added read-only for context and separated modules