updated to the new style of behaviour with callback specs