parse arrays
remove unnecessary dynamic_cast