Refctored type Group to Type