Adding spec and tests