add many assistant functions