modified Controller