Evolution of hypersurfaces by curvature functions