Fairly major overhaul in an attempt to simplify things and begin
implementation of levels