add first code, need test
add test and minimal change