more refactor
rewrite graph. brushable