switching from pointers to allocatables where applicable, compacting arrvec by using associated() instead of the inited array (thanks to Arjen Markus for his suggestions to do it)