building and linking