Split into small methods