fixing dealloc, self instead of super