Abstrac the base