Significant changes. Been lazy with commits.