task logic added