Use broadcast receiver instead of listener