handle struct lists