Added documentation, flowcharts, design patterns