Initial commit. This is more or less what we had for A2, modified slightly