Privatised the init function to prevent direct access