Jacalvo/restructure code