finished porting the app