diff --git a/src/utils/FileRecordTools/Records/Bed12Interval.cpp b/src/utils/FileRecordTools/Records/Bed12Interval.cpp
index 648dcccda2d73dac78482719a0536c570feb9cab..867a69ec4c23e50d2f1c3588f9622a78ce992176 100644
--- a/src/utils/FileRecordTools/Records/Bed12Interval.cpp
+++ b/src/utils/FileRecordTools/Records/Bed12Interval.cpp
@@ -119,4 +119,30 @@ void Bed12Interval::printNull(QuickString &outBuf) const
 	outBuf.append("\t.\t.\t.\t.\t.\t.", 12);
 }
 
+const QuickString &Bed12Interval::getField(int fieldNum) const
+{
+	switch (fieldNum) {
+	case 7:
+		return _thickStartStr;
+		break;
+	case 8:
+		return _thickEndStr;
+		break;
+	case 9:
+		return _itemRGB;
+		break;
+	case 10:
+		return _blockCountStr;
+		break;
+	case 11:
+		return _blockSizes;
+		break;
+	case 12:
+		return _blockStarts;
+		break;
+	default:
+		return Bed6Interval::getField(fieldNum);
+		break;
+	}
+}
 
diff --git a/src/utils/FileRecordTools/Records/Bed12Interval.h b/src/utils/FileRecordTools/Records/Bed12Interval.h
index a902b4f4472503d3ece54509dafa7ad30b60ea35..711800c3d7560d0834f5b823d48ffa47f3ec3535 100644
--- a/src/utils/FileRecordTools/Records/Bed12Interval.h
+++ b/src/utils/FileRecordTools/Records/Bed12Interval.h
@@ -52,6 +52,9 @@ public:
 	virtual void setBlockStarts(const string & blockStarts) { _blockStarts = blockStarts; }
 	virtual void setBlockStarts(const char *blockStarts) { _blockStarts = blockStarts; }
 
+	virtual const QuickString &getField(int fieldNum) const;
+	virtual int getNumFields() const  { return 12; }
+
 
 protected:
 	virtual ~Bed12Interval();