refactored, TalkingWindow introduced
TODO added