try to implemented vertical alignment, but failed
resolve conflict for box.coffee
resolve conflict
resolve conflict
implemented snapping function
resolve conflict