REFACTOR: extract clients repo
REFACTOR: extract message builder