use property instead of decorator