removed self,output variables