finished weighted Block constructor