php getter setter is public by default, various fixes