follow Surikat: rewrite some Tool to Core + PSR-4 in progress