almost final, just one read missing from the introduction