fixed snapping
x position based on key if available
new version