Recursive extend module