for porting...