prepare for porting