move source to src; split app into modules