modifed controller