custom model prototypes