Implemented many steps with threads.