constructor field order change and using new PersonInterface