i have implemented most of these suggestions now