add mpi support
add build_local_target_filename
change functions to parallel support
add level dispatch