Documentation and file headers added