Restructure specs
Allow :^ instead of :**
Add function specs