add function square