more refactoring
message changes and can draw