* Use CPHP's router (thanks @joepie91), modified slightly