refactor of integration
deducing template parameters for the integrations routines and adding primitive.hpp