Modified to clean up spec and comments