proof of concept script organisation - needs work + ui refactor