everything needs more docs and design