shapes improvements