fixed visibility definition order