This is a big question that needs to answered in dept.