Computer Aided Molecular Design: Theory and Practice