better to use raw object system if I have to pre-declare attributes