class model defined