Partial implementation of top down builder
Finish implementation of top down builder