enabled all gcc warnings and fixed them