WIP: combining all together to run the complete process.