Add copy product function and fix typo
- some header change
- add/change language defines

Signed-off-by: Gergely Tóth <tgely@gumisarok.hu>