restructured entire solution to better suit multiple platforms