getting there, but need to debug