altered building api to make more sense.