added: finish logic