adding ability to pass in optional block to replace default create! behavior