pushing closure and define changes