added rotation and perfectly sticky edges