begin the implementation of part F