added our interfaces
added two dependancies which got lost by cherry picking
cleanup rebasing from persistence branch