Copied basic class factory over