refactor complete. models are instancey, workers are composey