All core specs refactored (except router that should be rewritten first)