major gui work, minor engine work