Fix issue #20

redesign multiple same operation