updated entities to have virtual navigation properties add some unit tests