Add APIs: fill, fill-dir