finished making the main objects immutable now working on making ui work again. need to make controller updatable through and  method.