better responsive and type