Adding huge amount of changes from coding binge