Rework so it actually works