workaround: store attributes directly