add message encode and decode functions
ignore idea project files