general overhaul of all components