Part 1 of specification. Feel free to add to it