Refactored to allow property changes; Added permissions per field