exposed #build method for simplicity