Moved to a better, easy to use  and recursive design