general: add msg system

still work in progress