interface Account {
  exception Bankrupt {
    unsigned long balance;
    unsigned long amount;
  };
  void deposit  (in unsigned long amount);
  void withdraw (in unsigned long amount) raises (Bankrupt);
  long balance  ();
  void destroy  ();
};

interface Bank {
  exception NotAuthorized {};
  Account create (in string name, in string password)
    raises (NotAuthorized);
};
