improve type button