Some more overhaul and basic feature completion