P03 got type-safer