add new logic