Replicating changes...

Needs tons of validations and refactoring...