optional, string, time