version 1 finish,without test