added specs, more flexibility