added tools functionality