updated to use attribute property