check 15, this.x should be implemented, need more test