Inital project structure; blockmatching - first try based on smartpointers