redo to fix major derps in code