refactor
fix autoloader
refactor sample
refactor Printo
detect recursion
use print_a