reorganize, add timing