Refactor upcp and cleanup processes (part 1)
Merge branch 'upcp-cleanup-refactor' into dev