new 'shapes' branch
fixed some positioning bugs in the shape class