changed enemy to actually use the function pointers