complex extension with arrays