Updated for M3, start implementing better events