this thread is full of fail.