refactoring asterisk module