Create  whole new data extracting

New private function; ApplyData()
Created a much more efficient data reading procedure , or at least one
that's easier to wrap your head around.