add new interface

you can use complex data