Clean up, refactoring, specialization
Clean up