Add interface level code contracts. Add copyright headers.