This is the code for #2 but a back ender needs to have a look
A front enders task to finish #3