remove code duplication, allow custom client classes per server