button and type changes