Same as my comments above, there is far too much duplication going on here.