computational chemistry; a practical guide for applying techniques to real world problems