I'm not really happy with `basic`. Maybe we can remove it?