make backwards time and wait time exceeded explicit runtime exceptions, update tests #3 #4