begin Extension implementation