new control + many changes