add Pool, IPoolable and beginning of weapon system