Code restructuring; add ProjectInfo struct; other changes