added polyglot wip
added polyglot wip2
refactor
refactor
refactor