storepointer instead of copying