complete overhaul to hopefully work the way I like it