Abstract types should not implement an interface without implementing it's methods