refactored test model and started implementing array/struct support