more work on rectangle