Changed everything. Will clean up later.