working functions. add keyword lists.