unnecessary comments deleted