<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def create(cls, name, nat=False, mobile_vpn_toplogy_mode=None, vpn_profile=None):
 """ Create a new policy based VPN :param name: name of vpn policy :param bool nat: whether to apply NAT to the VPN (default False) :param mobile_vpn_toplogy_mode: whether to allow remote vpn :param VPNProfile vpn_profile: reference to VPN profile, or uses default :rtype: PolicyVPN """

        vpn_profile = element_resolver(vpn_profile) or \
            VPNProfile('VPN-A Suite').href
        
        json = {'mobile_vpn_topology_mode': mobile_vpn_toplogy_mode,
                'name': name,
                'nat': nat,
                'vpn_profile': vpn_profile}

        try:
            return ElementCreator(cls, json)
        except CreateElementFailed as err:
            raise CreatePolicyFailed(err)