Basic idea of what we need to work with. Too tired to actually write.