some of which i have copied below