refactor GPs framework
Merge pull request #1676 from votjakovr/feature/gp_refactoring

refactor GPs framework