examples tested, nearly all works now