TODO: record tyep with not typedef as argument
fix type without typedef