app logic finish