added public/protected property discovery