extended cursor and collection to create custom as_class