todo
timing in microseconds
extra test