cleanup array init

added 2-dim array initializer

added nested structure init

now works with list of struct and list of list