Ported datasaving and area selection from 1.x - @AbrarSyed if you want to redo this feel free.