an attempted solution...