implemented CLI interface