diff --git a/README.md b/README.md
new file mode 100644
index 0000000..6ec6634
--- /dev/null
+++ b/README.md
@@ -0,0 +1,20 @@
+
d2go
+
+---
+
+Tooling for Diablo II: Resurrected written in Go. It provides a library to read game memory and a public SDK to be
+imported, along with data structures and some other tools.
+
+### Libraries
+
+- [data](https://github.com/hectorgimenez/d2go/tree/main/pkg/data) - D2R Game data structures
+- [memory](https://github.com/hectorgimenez/d2go/tree/main/pkg/memory) - D2R memory reader (it provides the data
+ structures)
+- [nip](https://github.com/hectorgimenez/d2go/tree/main/pkg/nip) - A very basic NIP file parser
+- [itemfilter](https://github.com/hectorgimenez/d2go/tree/main/pkg/itemfilter) - Based on game data, it provides an item
+ pickup filtering
+
+### Tools
+
+- [cmd/itemwatcher](https://github.com/hectorgimenez/d2go/tree/main/cmd/itemwatcher) - Small tool that plays a sound
+ when an item passing the filtering process is dropped
diff --git a/pkg/data/objects.go b/pkg/data/objects.go
index 65d2f4e..26b1158 100644
--- a/pkg/data/objects.go
+++ b/pkg/data/objects.go
@@ -47,6 +47,38 @@ func (o Object) IsChest() bool {
return false
}
+func (o Object) IsDoor() bool {
+ switch o.Name {
+ case object.DoorCathedralLeft,
+ object.DoorCathedralRight,
+ object.DoorCourtyardLeft,
+ object.DoorCourtyardRight,
+ object.DoorGateLeft,
+ object.DoorGateRight,
+ object.DoorMonasteryDoubleRight,
+ object.DoorWoodenLeft,
+ object.DoorWoodenLeft2,
+ object.DoorWoodenRight,
+ object.IronGrateDoorLeft,
+ object.IronGrateDoorRight,
+ object.SlimeDoor1,
+ object.SlimeDoor2,
+ object.TombDoorLeft,
+ object.TombDoorLeft2,
+ object.TombDoorRight,
+ object.TombDoorRight2,
+ object.WoodenDoorLeft,
+ object.WoodenDoorRight,
+ object.WoodenGrateDoorLeft,
+ object.WoodenGrateDoorRight,
+ object.AndarielDoor,
+ object.PenBreakableDoor,
+ object.SecretDoor1:
+ return true
+ }
+
+ return false
+}
func (o Object) IsSuperChest() bool {
switch o.Name {