new layoutdir feature, bump to 0.4.0. publish to npm