Added pseudocode and Description