Phase II commit
Phase II refactor commit