added controlled mode