add initialize contact, refactor