fixed stuff thanks to nevin