Ad hoc is a Latin phrase which means "for this purpose". It generally signifies a solution that has been custom designed for a specific problem, is non-generalizable and cannot be adapted to other purposes. Examples include a tailor-made suit, a handcrafted network protocol or a purpose-specific equation. Ad hoc can also have connotations of a makeshift solution, inadequate planning or improvised events.