huge overhaul, small version bump