Refactored #1