storage -> attributes, for more extensibility