make all errors key optional