add test, remove extra assert, or may be preserve is better?