Update README to explain architecture