moved storage classes into separate component