public void add(User user) throws Exception
	{
		if (user.getUsername() == null || user.getUsername() == "" || user.getPassword() == null || user.getPassword() == "")
			throw new Exception("Error username/password was blank");
		
		if (user.getUsername().equals("admin"))
			throw new Exception("Error username 'admin' is not permitted");
		
		try
		{
			// see if the default user is still in the system
			retrieve(new String[]{USERNAME, "admin"});
			
			// if the default user is still in the system
			if (m_resultSet.next())
			{
				// if you're creating a user that is a manager remove the default user
				if (user.getPrivilege() == User.MANAGER)
					remove(new User(0, User.MANAGER, "admin",""));	// remove the default user
				// if it was found and the user to be made's privilege is too low
				else
					throw new Exception("Error you must create a new manager user first");
			}
			
			retrieve(new String[]{USERNAME, user.getUsername()});
		} 
		catch (Exception e)
		{
			throw e;
		}
		
		if (!m_resultSet.next())
		{
			m_statement = m_connection.createStatement();
			m_statement.execute("INSERT INTO Users VALUES ("+user.getUID()+", "+user.getPrivilege()+", '"+user.getUsername()+"','"+user.getPassword()+"'); COMMIT");	
		}
		else
		{
			m_statement = m_connection.createStatement();
			m_statement.execute("UPDATE Users "+
					"SET Username='"+user.getUsername()+"', Password='"+user.getPassword()+"', Privilege='"+user.getPrivilege()+"', U_id='"+user.getUID()+"'" +
							"WHERE Username = '"+user.getUsername()+"'; COMMIT");
		}
	}