add invalid data hander + smart header determining
modify testing dataset