Additional refactoring and porting

Added new ported classes also refactored  current ones