public void transferBetweenOwnAccounts(double amount, BasicAccount source, BasicAccount destination){
		if(source instanceof CustomerTransferSource){
			if(source.getAccountOwner() == this){
				if(destination.getAccountOwner() == this){
					if(!(source == destination)){
						if(amount > 0){
							Transaction withdraw = new Transaction(amount, source.getAccountOwner(), source.getAccountOwner(), Transaction.WITHDRAWAL);
							source.appendTransaction(withdraw, this); 
							Transaction deposit = new Transaction(amount, source.getAccountOwner(), source.getAccountOwner(), Transaction.TRANSFER);
							destination.appendTransaction(deposit, this);
						}
						else throw new IllegalArgumentException("Transfers must be positive!");
					}
					else throw new IllegalArgumentException("Source and destination accounts cannot be the same!");
				}
				else throw new IllegalArgumentException("You must own the account you're transferring to!");
			}
			else throw new IllegalArgumentException("You must own the account you're transferring from!");
		}
		else throw new IllegalArgumentException("You may not transfer from this account type!");
	}