Improve abstract interfaces