refactored AIM Event listening