TODO fix the other stuff