Register refactor, and Validation

Register refactor is complete