principal ideal domains