Refactored, but some test do not pass yetgit push