make sure props in the same order