solved with golang