change protected to private where possible
cleanup. fix data member names