transform MFProject and its children to a map like data holder
merge redundant preprocessing and solving works