fixing seg fault