Rewrote process as async and with events yeeeeeaaah