refactoring + added usage
improved validation
updated README.md