The following is taken from