solving in separate threads now