rewrite algorithm
select icon position fix