fixed copyrights, added @required to protocols.