calculation with storage method
redoing