Made the main binary executable
Further groundwork
Added some tets cases