need to find a better way to do this build procedure