Refactor
Extract more methods