update so that stuff actually works (also refactored 54)