allow custom functions for attacks