working version,

something hang with unknown reason