allocatable for non-in/out arrays
add key to unique
array (de)allocations