added more specs and code