Much better version of RPS