add a complex method