Shouldn't this take interface?