initial version from class