Made fairly significant amount of changes