added attribute handling