solution to be ffleshed out