ported classes initial version