- This needs some docs
- Should this be a public method? It looks dangerous...