refactor: split summary into smaller modules