easier customization

add GetClientTypes to allow easier integration of custom clients
being more gentle when client name does not match