Initial commit. Should compile and work OK.