#12 make fields private