solutions to thread exercises