adapt to ruby keyword arguments