cleanup + minimal documentation
how to understand lcom