revision before storage class

This is an unstable and erroneous version which can be improved by
slight modification