to be updated later...initial contribution...will edit more today