This looks repeated - should it be a partial view too?