still porting over code