refactors, adds Check namespace