Merge pull request #68 from p1tz/master

merge
added softRemove method on index
refactoring. move abstract classes to data library
refactor the depend tests too
refactor the depend tests too
remove unused imports