make swappable work properly