added source files

Nearly perfect version.