#3 isInstalled() implemented and tested
#3 extra doc
#3 polished and refactored a bit
#3 polished
#3 catch runtime exception