towards a single page app