adds guar and refactores spec layout