Implemented protected fields and changed private field names to double-underscores.