add plot controller + tests