finished updated constructor and run methods