Refactor and Simplifications