moved all to main function
0.4.0