working on message model