initial commit, with a bit more than actually needed for now from learning boilerplate