using storage to maintain variables