rain tpl implementation