add kwargs support, #15