list tests passing
factor out grammar