rename group to groups, introduce new function group
generalize deinterleave_first implementation to all integers
add complex group