Working solution developed by XSolve folks