second commit: a bit more structure; not really any functionality yet