added more specs and modified things to make them pass.