Lower-level create from weights