added timer to measure execution