default crud generation