move AnnounceError to exceptions module
do some refactoring