introduce Communication and messages
refactoring experience in java
parsing questions