Improved logic, did some data gathering