make these static
forward signal args
forward abstract_function args