added fprintf