Made factory constructor private