add projs for controllers, controller unit tests, and persist impl