properties don't need visibility