add test
fix Usage
fix Usage
implementaion