add defined logic