minor: split files and update make files