refactoring and new features
Readme update to reflect last changes