v4

version by Max with all types