private constructor added