This is a work in progress.... bear with me please.