update keywords
update readme
use callable object