Properly documented before it gets too big