Changed direction on how this is implemented