added specs and additional methods