compilation script
just have testing and shortcomings