public synchronized static int insert(String firstName, String lastName, String addressLine1, String addressLine2, String city, String state, String country, String phoneNumber, String email) throws SQLException
	{
		Connection connection = null;
		PreparedStatement  prepStmt = null;

		try 
		{
	    	connection = DB.getConnection();
	    	connection.setAutoCommit(true);

	    	int insertedID = -1;

	    	String sql = "INSERT INTO Customer (FirstName, LastName, AddressLine1, AddressLine2,City, State, Country, PhoneNumber, Email) VALUES (?,?,?,?,?,?,?,?,?);";
	    	prepStmt = connection.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);

			prepStmt.setString(1, firstName);
			prepStmt.setString(2, lastName);
			prepStmt.setString(3, addressLine1);
			prepStmt.setString(4, addressLine2);
			prepStmt.setString(5, city);
			prepStmt.setString(6, state);
			prepStmt.setString(7, country);
			prepStmt.setString(8, phoneNumber);
			prepStmt.setString(9, email);

	    	prepStmt.executeUpdate();

	    	ResultSet rs = prepStmt.getGeneratedKeys();
	    	if (rs.next()){
	    		insertedID = rs.getInt(1);
	    	}

			prepStmt.close();
			DB.closeConnection();
			return insertedID;
		}
		catch(Exception e)
		{
			throw e;
		}
	}