bind arguments
simplify template