make some values optional