part 4: working: windows work
part 4: can buffer messages
Done with part 4