Major porting of most classes