Yes, I know, this PR is focused on small refactoring + adding "Accept-Language" support, I'll solve the conflicts later.