Refractored client module