storage/extract functionality almost done, some work still needed.