Refactored. #15