added NL implementation