optimized to use editable snaps instead of views