Valence bond methods :theory and applications