added configurable weight init