add directory struct