using abstract classes, and its working
nesting address in person object works
Merge branch 'interfaceTables'