More cases, a better implementation for rps