added rectangle method