Groups, Subgroups and Algebraic Structure