split complex method
oosp
code dup
split complex method + rm dup