add timing; started change to prepare, not tested