purpose of fork