redone to hopefully get rid of derps