[-----------function head----------] .