use defaults rather then hard-coded valus