Add a private constructor to avoid users to use the default constructor.