add test and realize weapon