start code reorganization needed to deal with backend choices. compiles, links and runs as far as the startup screen now