Basic functionality achieved.

Can now build by specifying goals. Properties still not taken into account.