switched from attr to prop in most cases