Refactoring and stuffs. Broken specs :(