Add porting for other languages. Add Python port