updated trait calls, implemented repository factory