add symmetric mode and fix a bug