refactor some core objects & added ofc classes