Reorganize project and make parameters composable