[-v2] use alias instead of typedef