Edit: passed compile, FUCKYEAH