moving discovery related classes to seperate package