Added argument checking
Added new spec