close tidy, will adjust the ident by hand
adjust breakline
implement simulation
adjust simulation API