public Object[][] updateAccountManagerTableView() {
        Collection<User> users = instance.getUsers();
        //calculate number of rows
        int rows = 0;
        for (User user : users) {
            if (!user.isActiveCustomer()) {
                rows++;
            }
            for (Account acc : user.getAccounts()) {
                if (!acc.isClosed()) {
                    rows++;
                }
            }
        }
        Object[][] accountManagerTable = new Object[rows][4];
        //display users
        int i = 0;
        for (User user : users) {
            accountManagerTable[i][0] = user;
            StringBuilder formattedSsn = new StringBuilder(String.format("%09d", user.getSsn()));
            formattedSsn.insert(3, "-").insert(6, "-");
            accountManagerTable[i][1] = formattedSsn;
            for (Account account : user.getAccounts()) {
                if (!account.isClosed()) {
                    accountManagerTable[i][2] = account;
                    BigDecimal balance = account.getBalance();
                    if (account.getType().isLoan()) {
                        balance = balance.negate();
                    }
                    accountManagerTable[i][3] = new DollarAmountFormatter().valueToString(balance);
                    i++;
                }
            }
            if (!user.isActiveCustomer()) {
                i++;
            }
        }
        return accountManagerTable;
    }