made data assignment come before init to allow init's to copy data from this element