1) Allowed more field types 2) Allowed new field type (pass through) that ends with ; 3) Allowed {private} methods 4) Fixed some formatting