public ArrayList<CellTagPair> findMarkupTags(){
		Pattern tagPattern = Pattern.compile("\\{(.+?)\\}");
		ArrayList<CellTagPair> result = new ArrayList<CellTagPair>();

		int width = getWidth();
		int height = getHeight();
		for(int y = 0; y < height; y++){
			for(int x = 0; x < width - 3; x++){
				Cell cell = new Cell(x, y);
				char c = get(cell);
				if(c == '{'){
					String rowPart = rows.get(y).substring(x);
					Matcher matcher = tagPattern.matcher(rowPart);
					if(matcher.find()){
						String tagName = matcher.group(1);
						if(markupTags.contains(tagName)){
							if(DEBUG) System.out.println("found tag "+tagName+" at "+x+", "+y);
							result.add(new CellTagPair(new Cell(x, y), tagName));
						}
					}
				}
			}
		}
		return result;
	}