learn more about descriptor
add property()