Update IMessage
Update comments
Rework file structure