PUFF implemented almost