Refactored a bit and passed testing