pu framework