Implemented the Busacker-Gowen algorithm, but it's not working properly
yet.