somewhat less broken from last commit