functional programming graphics