fucked some stuff up, hope this still works