implmemented sort of reactive clients. Added more datasource information
refactored out specific clients
using common package definitions
first implementation
first commit