fixed multiple definitions conflict