minor changes
major redesign in progress
still reworking, needs overhaul