read-only properties enforced