I think this requires some documentation