implemented cli