Change specs and added differential functions