hopefully will have a bit more accurate delays, still inefficient