interactive functions are defined in commands.el