added constructors and static variables