refactor GP framework
Merge pull request #1398 from votjakovr/feature/gp_refactoring

Refactor GP framework