added attributes as inputs