added spec, litle refactoring test are passing