Renamed some stuff for ease of understanding