Consilidate functions, separate resize and snap-to functions