Porting new classes and methods from JS version