gonna make function pointer for d