add logic