Many tweeks and additions