fully qualified namespace
and beginning refactoring