Major design overhaul.
small design changes