address validation work (still needs some ironing)