Refactored clients, client types. More robust now.