initial commit; will take some editing