separate instances, cleaned a bit, constrained