update(simpler and use #226) and fix execution