macro context
pattern matching
static extension
support firstline and lastline
export