uncommunicative variable name
alignment
uncommunicative variable name n

use note instead of n
uncommunicative variable name t & n

t change to tie
n change to notification
uncommunicative variable name c

use circle instead of c
fix shadowing outer local variable
uncommunicative variable name p

use provider instead of p