Project refactor and upgrade.