broken: in progress change to reactive model