loose prototypes