Add Pretty Print & Refactoring