add building functions