first pass at setup
reimplement responsiveness