created interface for storage and cleaned up a bit