P01 got type-safer