complex method