Refactor Request object + Add Extra functionality