major cleanup (thinking to complicated)