added signum function block