object pool and added stuff