add message system
fix errors
improve things

work in progress