Some ground work layed out based upon my experence and some parts of EE3