make attributes optional