attr hash trait