catching errors if single passed var is not iterable. added magic methods