added private constructors to avoid possibility to create instance