Adding some more specs and implementing feature