working initialize and create