cycle method
merge