Added public_request method; Cut out some boilerplate