policy facade builder implemented