interface refactoring and updated readme