add some messages for imp actions
extract drawing primitives into a separate class