uses Abstrac