avoid IllegalThreadStateException
better error reporting