adding rest of the code