Added documentation and structure.