finish 1209(1313 has bugs)