made a complete overhaul

this one is cleaner and better