moved message provider functionallity into new cless