Design Doc so far. Feel free to add more or correct what I have