Refactored once more