finished porting to new arch