add dispatch method, rename  to , make toString visible