Huge overhaul
omg close enough