I shall answer your query with multiple points, since the answer to your question is a little complex and generic