Edited according to Assignment