start to detach base from code
redesign base
fix logger
fix listeners