This and the position calculation don't belong in the view. :)