added feedback loop