incorporating new material from mathias bynens setup.sh