dynamic form structure and unit tests