Initial import.
Minor chenges.