lots of initial commit stuff