Added documentation and reduced code size.