Computational Chemistry: A Practical Guide for Applying Techniques to Real World Problems