Needs a docblock (I'll supply this when I merge)