added private constructor;