major overhaul

still had some problems because i make things more difficult than they
need to be.